﻿using System;
using System.Html;

namespace jQueryLib
{
    public abstract class JQXmlHttpRequest : XmlHttpRequest, Promise
    {
        public abstract Promise Always(Delegate del);

        public abstract Promise Always(params Delegate[] dels);

        public abstract Promise Done(Delegate del);

        public abstract Promise Done(params Delegate[] dels);

        public abstract Promise Fail(Delegate del);

        public abstract Promise Fail(params Delegate[] del);

        public abstract string State();

        public abstract Promise Then(Delegate done, Delegate fail);

        public abstract Promise Then(Delegate[] done, Delegate[] fail);

        public abstract Promise Then(Delegate done, Delegate fail, Delegate progress);

        public abstract Promise Then(Delegate[] done, Delegate[] fail, Delegate[] progress);

        public abstract Promise Progress(Delegate del);

        public abstract Promise Progress(Delegate[] del);

        public abstract Promise Pipe(Delegate done, Delegate fail);

        public abstract Promise Pipe(Delegate done, Delegate fail, Delegate progress);
    }
}
